package com.hskn.hss.module.tlcar.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hskn.hss.core.domain.BaseEntity;
import com.hskn.hss.entity.AjaxResult;
import com.hskn.hss.entity.TreeEntity;
import com.hskn.hss.exception.ExcelReaderDataException;
import com.hskn.hss.exception.HssException;
import com.hskn.hss.module.tlcar.entity.TlCar;
import com.hskn.hss.module.tlcar.to.TlCarTo;
import com.hskn.hss.module.tlcar.vo.TlcarPageVo;
import com.hskn.hss.module.tlemployee.entity.TlEmployee;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author hskn
 * @since 2021-05-17
 */
public interface ITlCarService extends IService<TlCar> {

    AjaxResult insert(TlCar tlCar) throws HssException;

    AjaxResult update(JSONObject params) throws HssException;

    AjaxResult updatebyids(TlCar tlCar) throws HssException;

    AjaxResult deletebyid(JSONObject params) throws HssException;

    void excelReader(List<TlCar> tlCarList) throws ExcelReaderDataException;

    AjaxResult deletebatchbyid(TlCar tlCar) throws HssException;

    TlcarPageVo getList(BaseEntity entity, TlCarTo tlCarTo) throws HssException;

    TlCar getDetail(JSONObject params) throws HssException;

    List getSelectList();

    List<TreeEntity> getCarTree(JSONObject params);
//    List<TreeCarEntity> getCarTree2();
    List<TreeEntity> getCarTree2(JSONObject params);

    int getCurrentCar(JSONObject params) throws HssException;

    int getEndOfLifeCar(JSONObject params) throws HssException;

    JSONObject getJobCategories(JSONObject params) throws HssException;

    JSONObject getCarType(JSONObject params) throws HssException;

    JSONObject getDriveWay(JSONObject params) throws HssException;

    JSONObject getOwnershipOfCar(JSONObject params) throws HssException;

    JSONObject getCarManufacturers(JSONObject params) throws HssException;

    JSONObject getOldDistribution(JSONObject params) throws HssException;

    int getCls(JSONObject params) throws HssException;

    Map<String, TlCar> getCarMap(QueryWrapper<TlCar> carQueryWrapper);

    Map<String, TlCar> getCarMapByEqpnum(QueryWrapper<TlCar> carQueryWrapper);
}
